Skip to content

eio port#349

Open
mtelvers wants to merge 2 commits into
ocurrent:masterfrom
mtelvers:eio-port
Open

eio port#349
mtelvers wants to merge 2 commits into
ocurrent:masterfrom
mtelvers:eio-port

Conversation

@mtelvers
Copy link
Copy Markdown
Member

@mtelvers mtelvers commented May 9, 2026

eio port

mtelvers added 2 commits May 18, 2026 16:45
Drop Lwt throughout; use Eio for the engine, web server, capnp-rpc,
prometheus and ocluster. Bumps the OCaml floor to 5.0 since Eio needs
effects.

Wiring changes that follow the ocurrent-deployer Eio port:
- src/base_images.ml: Eio_main.run + Switch.run; thread sw/net/clock/fs
  through; Engine.create takes ~sw ~env and a closure that builds caps;
  Prometheus_unix.serve and Current_web.run are now Eio-aware.
- src/pipeline.ml: Real plugin instance moved into v because Docker and
  OCluster are now per-engine first-class modules built from caps;
  notify_status takes ~slack alongside ~channel since Current_slack.post
  needs the runtime.
- src/git_repositories.ml, src/win_ver.ml: drop Lwt operators in favour
  of Result.bind (let*); Process.exec takes a string list; Capnp_rpc.Std
  replaces Capnp_rpc_lwt; Cache.create now requires ~caps.
- src/s.ml, src/dump.ml: alias Cluster_api = Current_ocluster.Cluster_api
  so the OCURRENT signature and the Fake module resolve against the new
  Cluster_api_eio package.

Dockerfile: bump build base to ocaml/opam:debian-13-ocaml-5.4 and pin
the prometheus / current_* / ocluster eio forks before installing deps.
- ocaml-dockerfile.8.3.9
- ocaml-version.4.0.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant